

import Head from 'next/head'

<Head>
  <script>
    {
      `(function() {
         var _hmt = _hmt || [];
(function() {
  var hm = document.createElement("script");
  hm.src = "https://hm.baidu.com/hm.js?e60fb290e204e04c5cb6f79b0ac1e697";
  var s = document.getElementsByTagName("script")[0]; 
  s.parentNode.insertBefore(hm, s);
})();
       })();`
    }
  </script>
</Head>

![LangChain](https://pica.zhimg.com/50/v2-56e8bbb52aa271012541c1fe1ceb11a2_r.gif)
代理模拟
=========================================================================



代理模拟涉及将一个或多个代理与彼此交互。代理模拟通常涉及两个主要组件：
 


* 长期记忆
* 模拟环境



代理模拟的具体实现（或代理模拟的部分）包括：
 




单代理模拟
-------------------------------------------------------------------------------------------


* [模拟环境：Gymnasium](agent_simulations/gymnasium)
：演示如何使用[Gymnasium](https://github.com/Farama-Foundation/Gymnasium)（前[OpenAI Gym](https://github.com/openai/gym)）创建一个简单的代理-环境交互循环。



两个代理人的模拟
-------------------------------------------------------------------------------------------

- [CAMEL](agent_simulations/camel_role_playing): 实现了CAMEL（Communicative Agents for “Mind” Exploration of Large Scale Language Model Society）论文，两个代理人进行交流。
- [Two Player D&D](agent_simulations/two_player_dnd): 展示了如何使用通用的两个代理人模拟器来实现流行的龙与地下城角色扮演游戏的变体。

多个代理人的模拟
-------------------------------------------------------------------------------------------

- [Multi-Player D&D](agent_simulations/multi_player_dnd): 介绍了如何使用通用的对话模拟器为多个对话代理人编写一种自定义的演讲顺序，演示了流行的龙与地下城角色扮演游戏的变体。
- [Decentralized Speaker Selection](agent_simulations/multiagent_bidding): 展示了如何在没有固定讲话顺序的多代理人对话中实现多代理人对话的例子。代理人使用竞价来决定谁发言。该实例以虚构的总统辩论为例展示了如何实现。
- [Authoritarian Speaker Selection](agent_simulations/multiagent_authoritarian): 展示了如何实现多代理人对话，其中特权代理指定谁讲什么。 实例还展示了如何使特权代理确定对话何时终止。该实例以虚构的新闻节目为例展示了如何实现。
- [Generative Agents](agent_simulations/characters): 该教程实现了一种基于论文“Generative Agents: Interactive Simulacra of Human Behavior”（Park等人）的生成代理人。